home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / sbin / ndiswrapper-buginfo < prev    next >
Text File  |  2006-05-11  |  3KB  |  149 lines

  1. #!/bin/sh
  2. #set -ex
  3.  
  4. # Copyright (c) 2004 Torbj÷rn Svensson <azoff@se.linux.org>.
  5. #
  6. # This program is free software; you can redistribute it and/or modify
  7. # it under the terms of the GNU General Public License as published by
  8. # the Free Software Foundation; either version 2 of the License, or
  9. # (at your option) any later version.
  10. #
  11. # This program is distributed in the hope that it will be useful,
  12. # but WITHOUT ANY WARRANTY; without even the implied warranty of
  13. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  14. # GNU General Public License for more details.
  15. #
  16. # You should have received a copy of the GNU General Public License
  17. # along with this program; if not, write to the Free Software
  18. # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  19.  
  20. LOGFILE=`mktemp /tmp/ndiswrapper.XXXXXX`
  21. KVERS=`uname -r`
  22.  
  23. log()
  24. {
  25.     echo -e "$*" 2>&1 >> $LOGFILE
  26. }
  27.  
  28. log_cmd()
  29. {
  30.     /bin/sh -c "$*" 2>&1 >> $LOGFILE
  31. }
  32.  
  33. newblock()
  34. {
  35.     log "------------------------------------\n"
  36. }
  37.  
  38. if [ $# -eq 1 -a "$1" = "-full" ]; then
  39.     FULL=1
  40. else
  41.     FULL=0
  42. fi
  43.  
  44. # utils
  45. log "utils:"
  46. log_cmd 'ls -l /sbin/loadndisdriver'
  47. log_cmd 'ls -l /usr/sbin/ndiswrapper'
  48.  
  49. # the kernel
  50. newblock
  51. log "kernel:"
  52. log_cmd 'cat /proc/version'
  53. if [ -d /lib/modules/$KVERS/build/include ]; then
  54.     log "kernel sources are in /lib/modules/$KVERS/build"
  55. else
  56.     log "kernel sources missing"
  57. fi
  58.  
  59. newblock
  60. log "module information:"
  61. log_cmd 'modprobe -c | grep ndis'
  62. log "module(s):"
  63. log_cmd "find /lib/modules/$KVERS/ -name ndiswrapper\* | xargs ls -l"
  64. log ""
  65.  
  66. # the verion of gcc
  67. newblock
  68. log "gcc --version:"
  69. log_cmd 'gcc --version'
  70.  
  71. # installed drivers
  72. newblock
  73. log "installed drivers:"
  74. log_cmd 'ls -lR /etc/ndiswrapper'
  75.  
  76. while :; do
  77.     echo "Is it okay to shutdown 'wlan0' interface and reload the module?"
  78.     echo "If loading the module crashes kernel, then say N here"
  79.     echo -n "Reload ndiswrapper module? [N/y]:"
  80.     read res
  81.  
  82.     # default to N, (nothing entered)
  83.     if [ "$res" == "" ]; then 
  84.     res="N" 
  85.     fi
  86.  
  87.     case $res in
  88.     y|Y)
  89.         log "Reloading ndiswrapper..."
  90.         if [ $FULL -eq 1 ]; then
  91.         log_cmd 'ifconfig wlan0 down;  rmmod ndiswrapper;
  92.              modprobe ndiswrapper;
  93.              dmesg | grep ndiswrapper | tail -n 500'
  94.         else
  95.         log_cmd 'ifconfig wlan0 down;  rmmod ndiswrapper;
  96.              modprobe ndiswrapper;
  97.              dmesg | grep ndiswrapper | tail -n 50'
  98.  
  99.         fi
  100.         break
  101.         ;;
  102.     n|N)
  103.         log "Not reloading ndiswrapper..."
  104.         log ""
  105.         if [ $FULL -eq 1 ]; then
  106.         log_cmd 'dmesg | grep ndiswrapper | tail -n 100'
  107.         else
  108.         log_cmd 'dmesg | grep ndiswrapper | tail -n 10'
  109.         fi
  110.         break
  111.         ;;
  112.     *)
  113.         echo "No input.. retry."
  114.         ;;
  115.     esac
  116. done
  117.  
  118. if [ $FULL -eq 1 ]; then
  119.     # module information
  120.     newblock
  121.  
  122.     # pci devices
  123.     newblock
  124.     log "PCI devices:"
  125.     log_cmd "lspci -n"
  126.     log ""
  127.     log "USB devices:"
  128.     log_cmd "lsusb"
  129.     log ""
  130.  
  131.     # try to get kernelconfig
  132.     newblock
  133.     log "kernel configuration:"
  134.     if [ -r /proc/config.gz ]; then
  135.         log_cmd 'gzip -d < /proc/config.gz'
  136.     else 
  137.         if [ -r /lib/modules/$KVERS/build/.config ]; then
  138.             log_cmd "cat /lib/modules/$KVERS/build/.config"
  139.         else
  140.             log "kernel config missing"
  141.         fi
  142.     fi
  143. fi
  144.  
  145. gzip -c $LOGFILE > /tmp/ndiswrapper-buginfo.gz
  146.  
  147. echo "please attach /tmp/ndiswrapper-buginfo.gz to your bugreport!"
  148. \rm -f $LOGFILE
  149.